import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)

/**
 * Clase en la cual se agregan las espinas en la misma pocicion de esta clase para que simule que
 * estas salen de el.
 * 
 * @author (Ana Laura Hernandez Elias) 
 * @version (1.1)
 */
public class PuercoEspin extends Enemigo
{
    
    private SimpleTimer tiemDisparo;
    private Espina espina;
    
    /**
     * se reinicia el reloj del disparo
     */
    public PuercoEspin()
    {
     tiemDisparo=new SimpleTimer();   
     tiemDisparo.mark();
     
     
    }
    /**
     * en el act se invoca al actua de la clase principal para heredar su comportamiento
     * tambien se invoca al metodo de disparar csiempre y cuando una bellota no haya tocado al
     * Puerco Espin
     */ 
    public void act() 
    {
        super.act();
         if(getTocar()==false)
             dispara();
    }  
    
    /**
     * metodo en el cual se agrega una nueva espina con cierto angulo para que cada 3 segundos aparezca en
     * el mundo
     */
      public void dispara()
       {
         if(tiemDisparo.millisElapsed()>=3000)
            {
              getWorld().addObject(new Espina(-45),getX()+2,getY()+2);
              getWorld().addObject(new Espina(-145),getX(),getY());
               getWorld().addObject(new Espina(-100),getX(),getY());
              tiemDisparo.mark();
            } 
    }
}
